package com.slipper.common.excel;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(value = {ElementType.FIELD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface ExcelColumn {
    /**
     * 第几列(excel从第0列开始)，默认为0
     */
    int index() default 0;
    
    /**
     * 默认值
     */
    String value() default "";
    
    /**
     * 长度，默认为0
     */
    int length() default 0;
    
    /**
     * 等长，默认为0
     */
    int elength() default 0;

    /**
     * 可否为空，默认可为空
     */
    boolean nullable() default true;

    /**
     * 类型
     */
    int type() default ExcelColumnType.TYPE_sfts;

    /**
     * 使用转换的字典键
     */
    String dicKey() default "";
    
    /**
     * 是否为多个以逗号分割的字典
     */
    boolean dicMulti() default false;
    
    /**
     * 使用转换的字典键，需要将key,value反转
     */
    String reverseDicKey() default "";
}
